package leetCode.q56;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

public class Me {
    public int[][] merge(int[][] intervals) {
        List<int[]> res = new ArrayList<>();

        Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                return o1[0]-o2[0];
            }
        });

        for(int i=0;i< intervals.length;i++){
            int l = intervals[i][0],r = intervals[i][1];

            if(res.size() == 0 || l > res.get(res.size()-1)[1]){
                res.add(new int[]{l,r});
            }else {
                res.get(res.size()-1)[1] = Math.max(r,res.get(res.size()-1)[1]);
            }
        }

        return res.toArray(new int[res.size()][]);
    }
}
